home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 2002 November / SGI IRIX Base Documentation 2002 November.iso / usr / share / catman / p_man / cat3 / SCSL / dlaed8.z / dlaed8
Encoding:
Text File  |  2002-10-03  |  7.7 KB  |  199 lines

  1.  
  2.  
  3.  
  4. DDDDLLLLAAAAEEEEDDDD8888((((3333SSSS))))                                                          DDDDLLLLAAAAEEEEDDDD8888((((3333SSSS))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      DLAED8 - merge the two sets of eigenvalues together into a single sorted
  10.      set
  11.  
  12. SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  13.      SUBROUTINE DLAED8( ICOMPQ, K, N, QSIZ, D, Q, LDQ, INDXQ, RHO, CUTPNT, Z,
  14.                         DLAMDA, Q2, LDQ2, W, PERM, GIVPTR, GIVCOL, GIVNUM,
  15.                         INDXP, INDX, INFO )
  16.  
  17.          INTEGER        CUTPNT, GIVPTR, ICOMPQ, INFO, K, LDQ, LDQ2, N, QSIZ
  18.  
  19.          DOUBLE         PRECISION RHO
  20.  
  21.          INTEGER        GIVCOL( 2, * ), INDX( * ), INDXP( * ), INDXQ( * ),
  22.                         PERM( * )
  23.  
  24.          DOUBLE         PRECISION D( * ), DLAMDA( * ), GIVNUM( 2, * ), Q( LDQ,
  25.                         * ), Q2( LDQ2, * ), W( * ), Z( * )
  26.  
  27. IIIIMMMMPPPPLLLLEEEEMMMMEEEENNNNTTTTAAAATTTTIIIIOOOONNNN
  28.      These routines are part of the SCSL Scientific Library and can be loaded
  29.      using either the -lscs or the -lscs_mp option.  The -lscs_mp option
  30.      directs the linker to use the multi-processor version of the library.
  31.  
  32.      When linking to SCSL with -lscs or -lscs_mp, the default integer size is
  33.      4 bytes (32 bits). Another version of SCSL is available in which integers
  34.      are 8 bytes (64 bits).  This version allows the user access to larger
  35.      memory sizes and helps when porting legacy Cray codes.  It can be loaded
  36.      by using the -lscs_i8 option or the -lscs_i8_mp option. A program may use
  37.      only one of the two versions; 4-byte integer and 8-byte integer library
  38.      calls cannot be mixed.
  39.  
  40. PPPPUUUURRRRPPPPOOOOSSSSEEEE
  41.      DLAED8 merges the two sets of eigenvalues together into a single sorted
  42.      set. Then it tries to deflate the size of the problem. There are two ways
  43.      in which deflation can occur:  when two or more eigenvalues are close
  44.      together or if there is a tiny element in the Z vector.  For each such
  45.      occurrence the order of the related secular equation problem is reduced
  46.      by one.
  47.  
  48.  
  49. AAAARRRRGGGGUUUUMMMMEEEENNNNTTTTSSSS
  50.      ICOMPQ  (input) INTEGER
  51.              = 0:  Compute eigenvalues only.
  52.              = 1:  Compute eigenvectors of original dense symmetric matrix
  53.              also.  On entry, Q contains the orthogonal matrix used to reduce
  54.              the original matrix to tridiagonal form.
  55.  
  56.      K      (output) INTEGER
  57.             The number of non-deflated eigenvalues, and the order of the
  58.             related secular equation.
  59.  
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. DDDDLLLLAAAAEEEEDDDD8888((((3333SSSS))))                                                          DDDDLLLLAAAAEEEEDDDD8888((((3333SSSS))))
  71.  
  72.  
  73.  
  74.      N      (input) INTEGER
  75.             The dimension of the symmetric tridiagonal matrix.  N >= 0.
  76.  
  77.      QSIZ   (input) INTEGER
  78.             The dimension of the orthogonal matrix used to reduce the full
  79.             matrix to tridiagonal form.  QSIZ >= N if ICOMPQ = 1.
  80.  
  81.      D      (input/output) DOUBLE PRECISION array, dimension (N)
  82.             On entry, the eigenvalues of the two submatrices to be combined.
  83.             On exit, the trailing (N-K) updated eigenvalues (those which were
  84.             deflated) sorted into increasing order.
  85.  
  86.      Q      (input/output) DOUBLE PRECISION array, dimension (LDQ,N)
  87.             If ICOMPQ = 0, Q is not referenced.  Otherwise, on entry, Q
  88.             contains the eigenvectors of the partially solved system which has
  89.             been previously updated in matrix multiplies with other partially
  90.             solved eigensystems.  On exit, Q contains the trailing (N-K)
  91.             updated eigenvectors (those which were deflated) in its last N-K
  92.             columns.
  93.  
  94.      LDQ    (input) INTEGER
  95.             The leading dimension of the array Q.  LDQ >= max(1,N).
  96.  
  97.      INDXQ  (input) INTEGER array, dimension (N)
  98.             The permutation which separately sorts the two sub-problems in D
  99.             into ascending order.  Note that elements in the second half of
  100.             this permutation must first have CUTPNT added to their values in
  101.             order to be accurate.
  102.  
  103.      RHO    (input/output) DOUBLE PRECISION
  104.             On entry, the off-diagonal element associated with the rank-1 cut
  105.             which originally split the two submatrices which are now being
  106.             recombined.  On exit, RHO has been modified to the value required
  107.             by DLAED3.
  108.  
  109.             CUTPNT (input) INTEGER The location of the last eigenvalue in the
  110.             leading sub-matrix.  min(1,N) <= CUTPNT <= N.
  111.  
  112.      Z      (input) DOUBLE PRECISION array, dimension (N)
  113.             On entry, Z contains the updating vector (the last row of the
  114.             first sub-eigenvector matrix and the first row of the second sub-
  115.             eigenvector matrix).  On exit, the contents of Z are destroyed by
  116.             the updating process.
  117.  
  118.             DLAMDA (output) DOUBLE PRECISION array, dimension (N) A copy of
  119.             the first K eigenvalues which will be used by DLAED3 to form the
  120.             secular equation.
  121.  
  122.      Q2     (output) DOUBLE PRECISION array, dimension (LDQ2,N)
  123.             If ICOMPQ = 0, Q2 is not referenced.  Otherwise, a copy of the
  124.             first K eigenvectors which will be used by DLAED7 in a matrix
  125.             multiply (DGEMM) to update the new eigenvectors.
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136. DDDDLLLLAAAAEEEEDDDD8888((((3333SSSS))))                                                          DDDDLLLLAAAAEEEEDDDD8888((((3333SSSS))))
  137.  
  138.  
  139.  
  140.      LDQ2   (input) INTEGER
  141.             The leading dimension of the array Q2.  LDQ2 >= max(1,N).
  142.  
  143.      W      (output) DOUBLE PRECISION array, dimension (N)
  144.             The first k values of the final deflation-altered z-vector and
  145.             will be passed to DLAED3.
  146.  
  147.      PERM   (output) INTEGER array, dimension (N)
  148.             The permutations (from deflation and sorting) to be applied to
  149.             each eigenblock.
  150.  
  151.             GIVPTR (output) INTEGER The number of Givens rotations which took
  152.             place in this subproblem.
  153.  
  154.             GIVCOL (output) INTEGER array, dimension (2, N) Each pair of
  155.             numbers indicates a pair of columns to take place in a Givens
  156.             rotation.
  157.  
  158.             GIVNUM (output) DOUBLE PRECISION array, dimension (2, N) Each
  159.             number indicates the S value to be used in the corresponding
  160.             Givens rotation.
  161.  
  162.      INDXP  (workspace) INTEGER array, dimension (N)
  163.             The permutation used to place deflated values of D at the end of
  164.             the array.  INDXP(1:K) points to the nondeflated D-values
  165.             and INDXP(K+1:N) points to the deflated eigenvalues.
  166.  
  167.      INDX   (workspace) INTEGER array, dimension (N)
  168.             The permutation used to sort the contents of D into ascending
  169.             order.
  170.  
  171.      INFO   (output) INTEGER
  172.             = 0:  successful exit.
  173.             < 0:  if INFO = -i, the i-th argument had an illegal value.
  174.  
  175. FFFFUUUURRRRTTTTHHHHEEEERRRR DDDDEEEETTTTAAAAIIIILLLLSSSS
  176.      Based on contributions by
  177.         Jeff Rutter, Computer Science Division, University of California
  178.         at Berkeley, USA
  179.  
  180.  
  181. SSSSEEEEEEEE AAAALLLLSSSSOOOO
  182.      INTRO_LAPACK(3S), INTRO_SCSL(3S)
  183.  
  184.      This man page is available only online.
  185.  
  186.  
  187.  
  188.  
  189.  
  190.  
  191.  
  192.  
  193.  
  194.  
  195.                                                                         PPPPaaaaggggeeee 3333
  196.  
  197.  
  198.  
  199.